One form of a ‘coordinated set of tasks’ is a workflow. A workflow is a specification of activities where the activities may themselves be automated or manual. BPEL4WS (“BPEL” for short) is a recent workflow specification language for automated activities, such as composite network-accessible services. Workflows can be created by humans from scratch, or can be created using automated methods from reusable, simpler services.
Workflows are intended to achieve some one or more useful goals. For a given workflow, users may want to analyze how the workflow causes the goals to happen and—in some cases—whether or not the workflow achieves the goals at all. Analysis of this sort encompasses the following aspects a workflow:                Workflow selection        Workflow storage and retrieval        Workflow updates and obsoletion        Workflow generation        
No guarantee can be made with human constructed workflows concerning how the goals are achieved, since there may be unintended errors. Workflow analysis provides methods to assess workflows over their life cycle in a changing world.
Current approaches to workflow analysis are based on existing program analysis techniques. These approaches take the workflow as input (e.g., BPEL) and convert into an internal representation (such as an automata) and analyze the behavior of the internal representation (e.g., automata) based on static analysis methods. (Refer to X. Fu, T. Bultan and J. Su, “Analysis of Interacting BPEL Web Services”, In 13th International World Wide Web Conference ('WWW 2004.), NY, May 2004, ACM Press.)
The current program analysis based techniques provide limited information about a workflow. This information is restricted to the current instance of program execution, and is insufficient for managing a workflow over time, as instance level information is subject to frequent change.
Further, there is no contextual information of why an activity is in the workflow and what role the activity plays. Such information would allow workflows to be better used, updated with time, stored and retrieved, etc. In the absence of context information, current approaches model BPEL as a petri-net, process algebra or automata, and perform reasoning for properties only on runtime activity description.